.job-push: &job-push
  artifacts:
    paths:
    - logs
    when: always
    expire_in: 3 week
  dependencies: []

.job-always: &job-always
  artifacts:
    paths:
    - logs
    when: always
    expire_in: 3 week
  dependencies: []

clang-3.9:
  stage: build
  script:
  - ./tools/ci/jobs/clang39.sh
  - ./tools/ci/scripts/runtests.sh
  image: debian:stretch
  <<: *job-push
  variables:
    PACKAGES: gcc g++ clang-3.9 libc++-dev libc++abi-dev 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev
              git gdb valgrind netcat-openbsd procps

# was removed from debian and ubuntu
.clang-3.0:
  stage: build
  script:
  - ./tools/ci/jobs/clang.sh clang
  - ./tools/ci/scripts/runtests.sh
  image: debian:wheezy
  <<: *job-push
  variables:
    PACKAGES: clang libc++-dev 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev
              git gdb valgrind netcat-openbsd procps
  tags:
    - docker

# was removed from debian and ubuntu
.clang-3.0_i386:
  stage: build
  script:
  - ./tools/ci/jobs/clang.sh clang
  - ./tools/ci/scripts/runtests.sh
  image: vicamo/debian:wheezy-i386
  <<: *job-push
  variables:
    PACKAGES: clang libc++-dev 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev
              git gdb valgrind netcat-openbsd procps
  tags:
    - docker

clang-3.3:
  stage: build
  script:
  - ./tools/ci/jobs/clang.sh clang-3.3
  - ./tools/ci/scripts/runtests.sh
  image: ubuntu:12.04
  <<: *job-push
  variables:
    PACKAGES: clang-3.3 libc++-dev 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev
              git gdb valgrind netcat-openbsd procps
  tags:
    - docker

clang-3.3_i386:
  stage: build
  script:
  - ./tools/ci/jobs/clang.sh clang-3.3
  - ./tools/ci/scripts/runtests.sh
  image: vicamo/ubuntu:precise-i386
  <<: *job-push
  variables:
    PACKAGES: clang-3.3 libc++-dev 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev
              git gdb valgrind netcat-openbsd procps
  tags:
    - docker

clang-3.4:
  stage: build
  script:
  - ./tools/ci/jobs/clang34.sh
  - ./tools/ci/scripts/runtests.sh
  image: debian:jessie
  <<: *job-push
  variables:
    PACKAGES: clang-3.4 libc++-dev 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev
              git gdb valgrind netcat-openbsd procps

clang-3.4_i386:
  stage: build
  script:
  - ./tools/ci/jobs/clang34.sh
  - ./tools/ci/scripts/runtests.sh
  image: i386/debian:jessie
  <<: *job-push
  variables:
    PACKAGES: clang-3.4 libc++-dev 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev
              git gdb valgrind netcat-openbsd procps
  tags:
    - docker

clang-3.5:
  stage: build
  script:
  - ./tools/ci/jobs/clang35.sh
  - ./tools/ci/scripts/runtests.sh
  image: debian:jessie
  <<: *job-push
  variables:
    PACKAGES: clang-3.5 libc++-dev 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev
              git gdb valgrind netcat-openbsd procps

clang-3.5_i386:
  stage: build
  script:
  - ./tools/ci/jobs/clang35.sh
  - ./tools/ci/scripts/runtests.sh
  image: i386/debian:jessie
  <<: *job-push
  variables:
    PACKAGES: clang-3.5 libc++-dev 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev
              git gdb valgrind netcat-openbsd procps
  tags:
    - docker

clang-3.6:
  stage: build
  script:
  - ./tools/ci/jobs/clang36.sh
  - ./tools/ci/scripts/runtests.sh
  image: ubuntu:14.04
  <<: *job-push
  variables:
    PACKAGES: clang-3.6 libc++-dev 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev
              git gdb valgrind netcat-openbsd procps
  tags:
    - docker

clang-3.6_i386:
  stage: build
  script:
  - ./tools/ci/jobs/clang36.sh
  - ./tools/ci/scripts/runtests.sh
  image: vicamo/ubuntu:trusty-i386
  <<: *job-push
  variables:
    PACKAGES: clang-3.6 libc++-dev 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev
              git gdb valgrind netcat-openbsd procps
  tags:
    - docker

clang-3.7:
  stage: build
  script:
  - ./tools/ci/jobs/clang37.sh
  - ./tools/ci/scripts/runtests.sh
  image: ubuntu:16.04
  <<: *job-push
  variables:
    PACKAGES: clang-3.7 libc++-dev 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev
              git gdb valgrind netcat-openbsd procps
  tags:
    - docker

clang-3.7_i386:
  stage: build
  script:
  - ./tools/ci/jobs/clang37.sh
  - ./tools/ci/scripts/runtests.sh
  image: i386/ubuntu:xenial
  <<: *job-push
  variables:
    PACKAGES: clang-3.7 libc++-dev 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev
              git gdb valgrind netcat-openbsd procps
  tags:
    - docker

clang-3.8:
  stage: build
  script:
  - ./tools/ci/jobs/clang38.sh
  - ./tools/ci/scripts/runtests.sh
  image: ubuntu:16.04
  <<: *job-push
  variables:
    PACKAGES: clang-3.8 libc++-dev libc++abi-dev 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev
              git gdb valgrind netcat-openbsd procps
  tags:
    - docker

clang-3.8_i386:
  stage: build
  script:
  - ./tools/ci/jobs/clang38.sh
  - ./tools/ci/scripts/runtests.sh
  image: i386/ubuntu:xenial
  <<: *job-push
  variables:
    PACKAGES: clang-3.8 libc++-dev libc++abi-dev 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev
              git gdb valgrind netcat-openbsd procps
  tags:
    - docker

.clang-3.9_c++11:
  stage: build
  script:
  - ./tools/ci/jobs/clang39.sh_c++11.sh
  - ./tools/ci/scripts/runtests.sh
  image: debian:stretch
  <<: *job-push
  variables:
    PACKAGES: clang-3.9 libc++-dev libc++abi-dev 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev
              git gdb valgrind netcat-openbsd procps

.clang-3.9_c++11_i386:
  stage: build
  script:
  - ./tools/ci/jobs/clang39.sh_c++11.sh
  - ./tools/ci/scripts/runtests.sh
  image: i386/debian:unstable
  <<: *job-push
  variables:
    PACKAGES: clang-3.9 libc++-dev libc++abi-dev 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-ttf2.0-dev
              git gdb valgrind netcat-openbsd procps
  tags:
    - docker

clang-3.9_sdl2:
  stage: build
  script:
  - ./tools/ci/jobs/clang39_sdl2.sh
  - ./tools/ci/scripts/runtests.sh
  - ./tools/ci/scripts/rundyecmd.sh
  image: debian:stretch
  <<: *job-push
  variables:
    PACKAGES: gcc g++ clang-3.9 libc++-dev libc++abi-dev 
              make autoconf automake autopoint gettext 
              libxml2-dev libcurl4-gnutls-dev libpng-dev 
              libsdl2-gfx-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-net-dev libsdl2-ttf-dev
              git gdb valgrind netcat-openbsd procps
